﻿namespace iFinance.Modules.BasicInfo
{
    using System.Linq;
    using iFinance.Infrastructure.Services;
    using iFinance.Infrastructure.ViewModels;

    /// <summary>
    /// 基础信息服务
    /// </summary>
    public class BasicInfoService : IBasicInfoService
    {
        #region 支出类别

        /// <summary>
        /// 获取所有的支出类别
        /// </summary>
        /// <returns></returns>
        public OutgoingsTypeViewModel GetAllOutgingsType()
        {
            //TODO 从数据库中获取所有的支出类别并管理
            return new OutgoingsTypeViewModel();
        }

        /// <summary>
        /// 根据类型编号获取支出类型，不存在返回null
        /// </summary>
        /// <param name="typeID">类型编号</param>
        /// <returns>支出类型</returns>
        public OutgoingsTypeItemViewModel GetOutgoingsType(int typeID)
        {
            return GetAllOutgingsType().List.FirstOrDefault(
                type => 
                {
                    return type.ID.Equals(typeID); 
                });
        }

        #endregion

        #region 消费品

        /// <summary>
        /// 获取所有的消费品
        /// </summary>
        /// <returns></returns>
        public ConsumableViewModel GetAllConsumable()
        {
            //TODO 从数据库中获取所有的消费品并管理
            return new ConsumableViewModel();
        }       

        #endregion        
    }
}
